Vorwort
Diesen Vortrag habe ich im Sommer 2022 auf einer Fortbildungsveranstaltung
der Deutschen Rentenversicherung gehalten.
Erklärungen der Online-Version sind an dieser Grünfarbe erkennbar.
(Die verwendeten Schriftarten sind Alegreya
und Alegreya Sans)
Navigation über die Pfeiltasten auf der Tastatur.
Zero Trust
Felix von Leitner
Über mich [1/2]
Ich mache beruflich Code Audits.
Firmen zeigen mir den Quellcode ihrer Produkte.
Ich zeige ihnen Bugs, die ich darin finde.
Über mich [2/2]
Ich mache auch Security Architecture.
Firmen zeigen mir den Aufbau ihrer Produkte / Netze.
Ich zeige ihnen, wie man das besser organisieren kann.
Über diesen Vortrag
- Was ist denn überhaupt Zero Trust?
- Es gibt die technische Begriffsdefinition
- Dann gibt es Dinge, die unter Zero Trust verkauft werden
Die haben leider nicht viel miteinander zu tun.
Ich hab mal eine Umfrage gemacht
Um herauszufinden, was den Leuten unter Zero Trust so alles
angedreht wird da draußen.
„Was verstehen Sie unter Zero Trust?“
- Kein Intranet mehr
- Identity Management in der Cloud
- Black Cloud
- Gibt da einen NIST-Standard zu
- Bei uns haben sie das ausgerollt und dann ging gar nichts mehr
- Jeder Scheiß braucht jetzt Zweifaktor
„Was verstehen Sie unter Zero Trust?“
Ein Consultant schrieb:
- Ich gehe erstmal zum Admin
- Hole mir eine Liste, was der braucht
- Damit gehe ich zur Geschäftsführung, sage das ist für Zero Trust
- Die gucken dann den Admin an, der nickt weise
- Am Ende sind alle glücklich
Dieser Vortrag
- Unklares Thema, viel Zeit
- Daher erkläre ich erstmal die Grundlagen
- Wie man Security-Maßnahmen auswählt und bewertet
- Was falsch läuft und was man besser machen könnte
- Was Zero Trust ist und wo es reinpasst
Achtung: Die Details könnten die Bevölkerung verunsichern.
„Viel Zeit“
Die hatten auch das BSI angefragt, die hatten zugesagt, aber dann zwei Wochen vorher überraschend abgesagt.
Daher war mein Zeitslot plötzlich 75 Minuten lang.
Die habe ich natürlich nicht ganz ausgenutzt, aber ein bisschen ausschweifender waren meine Ausführungen schon.
Es gibt im Leben drei wichtige Fragen
- Wo sind wir?
- Wie sind wir hier hingekommen?
- Wie geht es jetzt weiter?
Wo sind wir?
Hier sind Ihre größten Bedrohungen:
- Ransomware.
(lange nichts)
- Datenverlust durch Softwarefehler oder Hardwareausfall.
- Innentäter.
Wie funktioniert Ransomware? [1/2]
- Jemand schickt Ihnen eine E-Mail
- Sie klicken auf den Anhang
(Das geht, weil Sie Outlook und Office benutzen)
- Der Anhang läuft mit Ihren Berechtigungen im System
- Installiert eine Hintertür
(Das geht, weil Sie Windows benutzen)
Das geht, weil... [1/2]
Windows folgt (wie Unix!) einem Paradigma, bei dem die Granularität des Systems Benutzerkonten und Prozesse sind.
Anwendungen, die Sie starten, laufen mit Ihren Berechtigungen.
Ein Angreifer. der Ihre Anwendung übernimmt, kann alles tun, was Sie tun konnten.
Das geht, weil... [2/2]
Smartphones und Chromebooks fahren Apps in stark eingeschränkten „Sandkästen“.
Ein Angreifer, der Ihre Mail-Anwendung hackt, kann immer noch Ihre Mails lesen.
Aber er kann nicht die Word-Datei kopieren, an der Sie gerade arbeiteten, außer Sie verschickten sie per E-Mail.
Wie funktioniert Ransomware? [2/2]
- Danach kommt durch die Hintertür Besuch
- Beschafft sich lokale Admin-Rechte
(Das geht, weil Sie Windows benutzen)
- Übernimmt von da aus den Domain Controller
(Das geht, weil Sie Active Directory benutzen)
- Dann kopiert er alles, verschlüsselt Ihre Kopie und löscht die Backups.
Da sollten wir mal was tun!
Wie geht man an sowas heran?
Wie bewertet man Security?
- Man erstellt ein Threat Model mit Datenflussdiagramm
- Damit misst man die TCB
- Dann sucht man Maßnahmen, die die TCB verkleinern
- Und Maßnahmen, die Angriffe aus dem Threat Model verhindern
Was ist ein Threat Model?
- Liste der möglichen Angriffe
- Hauptsächlich die, vor denen man sich akut fürchtet
- Aber auch alle anderen!
Ziel der Übung: Sehen, wo man angreifbar ist.
Threat Model
Achtung: Erliegen Sie nicht der Versuchung, die Liste von der Dokumentationsabteilung machen zu lassen, oder von Projektleitern oder anderem Management!
Die Entwickler sollen über ihr Modul aus der Warte eines Angreifers nachdenken!
Das ist das Hauptziel der Übung!
Was ist ein Datenflussdiagramm?
- Bild der Infrastruktur, nach Datenflüssen und Berechtigung
- Komponenten mit äquivalenten Zugriffsrechten bilden Inseln
Ziel der Übung: Man sieht die Mitspieler, wer mit wem redet.
Kommunikation über Inselgrenzen ("Trust Boundary") sind riskant.
Wir nennen das: Attack Surface.
Was ist die TCB? [1/3]
TCB steht für Trusted Computing Base.
- TCB meint tragende Wände
- Wenn die einstürzen, kommt die
ganze Decke runter!
Ziel: TCB minimieren.
Komponenten so „ohnmächtig“ wie möglich machen.
Was ist die TCB? [2/3]
In typischen Installationen: Alles.
- Datenbank
- Webserver
- Terminalserver
- Clients
- Backupsoftware etc pp.
Was ist die TCB? [3/3]
- Ziel: Komponenten aus der TCB holen
- Selbst wenn sie wollten, können sie nichts kaputtmachen
- Beispiel: cp-Befehl unter Unix. Kopiert Dateien. Prüft nichts.
- Der Kernel prüft! Der Kernel ist in der TCB. cp nicht.
Wie verkleinert man die TCB? [1/2]
- Man schiebt Zugriffsprüfungen „nach hinten“
- Die Komponenten vorne konvertieren nur die Anfragen
- Alle Dinge, die die tun können, sind auch ohne Hack erreichbar
- Umgekehrt: Die können sonst nichts!
Wie verkleinert man die TCB? [2/2]
- Auf dem Handy: App darf nur eigene Dateien öffnen
- Aber es gibt „send to app“ aus anderen Apps
- Man kann „Datei öffnen“ sagen
- Dann kommt vom Handy-Betriebssystem ein Öffnen-Dialog
Aber einfach so beliebige Dateien öffnen geht nicht.
Dateien öffnen [1/2]
Wenn man unter Windows in Word „Datei öffnen“ klickt, dann kommt ein Auswahlfenster von Word.
Das ist aber bloß Konvention. Word hätte auch ohne Nachfrage jede Datei öffnen können, die der angemeldete Nutzer lesen darf.
Auf dem Smartphone kommt die Auswahl vom System. Dort kann Word keine einzige Datei selber öffnen, ohne dass der Nutzer sie in dem Dialog ausgewählt hat.
Dateien öffnen [2/2]
Ein Hacker, der den PDF-Viewer übernimmt, kann unter Windows alle Dokumente sehen und verschlüsseln.
Auf dem Smartphone kann er mich mit Datei-Öffnen-Dialogen nerven aber ohne explizite Einwilligung nichts machen.
Da wollen wir auch auf dem Desktop hin!
Anderer Ansatz: Single-Use Tokens
TCB-Minimieren ist schwierig!
Ist aber das einzige, was messbar hilft.
In der Praxis sind die meisten Maßnahmen unwirksam
Weil man nicht die TCB minimiert hat (häufig sogar im Gegenteil!)
Zurück zu den Ransomware-Problemen!
- Der Angreifer kann Ihren Account übernehmen
- Von Ihrem Account aus kann er Admin werden
- Als Admin kann er alle Daten sehen und verschlüsseln
- Als Admin kann er Domain Admin werden
Das ist (in 1. Näherung) unser Threat Model!
Wie sind wir hier hingekommen?
Erklärung 1: Smart Clients
Stellen Sie sich hier ein VT220-Terminal vor.
Eine Bildersuche nach vt220 findet z.B. schöne Bilder.
Das ist ein Terminal, kein Computer
- Früher hatten Sachbearbeiter keinen Computer
- Der Computer war groß und laut und stand im Rechenzentrum
- Der Sachbearbeiter hatte ein Terminal
Das Terminal war dumm.
Stellen Sie sich hier ein Schaltbild eines vt52-Terminals vor.
Eine Bildersuche nach vt52 block diagram findet welche.
Der hier relevante Teil ist: Kein Speicher!
Aufgepasst!
- Hätte man so ein Terminal hacken können?
- Man hätte ein böses ROM installieren können!
- Aber dafür muss man es physisch aufschrauben (und evtl. löten)
Sicherheitsfeatures
- Kein Speicher
- Kein Betriebssystem
- Kein Admin-Zugang
- Keine Programme (keine Sicherheitslücken in ihnen)
- Kein Netzwerkzugang (nur Serialkabel)
- Host verlangt Login
Zum Vergleich: Heutige Clients
- RAM, Festplatte/SSD
- Betriebssystem (braucht ständig Patches)
- Admin kann Trojaner persistieren
- Programme nachinstallierbar (brauchen ständig Patches)
- Netzwerkzugang (Angreifer kann von dort aus andere angreifen)
- Host nimmt auch NTLM/Kerberos-Tokens
Hintergrund
Was ich damit zeigen wollte:
Früher war die TCB kleiner als heute.
Wichtiger Punkt fürs Verständnis [1/2]
- Der Angreifer kann genau das, was Sie auch tun konnten
- Nur ist er im Allgemeinen besser informiert
Wenn es auf Ihrem System APIs gibt, kann der Angreifer sie aufrufen.
Angreifer kann Admin werden? Dann konnte das auch der Mitarbeiter!
Wichtiger Punkt fürs Verständnis [2/2]
- Der Verteidiger muss alle Schwachstellen finden und schließen
- Der Angreifer muss nur eine finden und ausnutzen
Offensichtliche Lösung: Nur ganz wenige Schnittstellen anbieten.
So wenig wie möglich. Damit wir eine Chance haben, die abzusichern.
Windows hat fünfstellig APIs
- Niemand kennt die alle
- Microsoft kämpft damit, ihr eigenes Netz abzusichern
- Office fügt nochmal vierstellig dazu
Was haben wir angerichtet?!
- Wir haben ein saftiges Ziel geschaffen (den Windows-PC)
- Wir halten es schön verwundbar (Patch Management)
- Wir sorgen für Angriffsoberfläche (E-Mail, Web)
- Da liegen attraktive Daten
- Von dort aus kann man das ganze Netz übernehmen
- Dann kommt man an alles andere heran
Patch Management
Dazu habe ich einen separaten Vortrag, daher hier nur kurz:
- Patches managed man nicht. Man spielt sie ein.
- Anhand der Patch Notes nicht entscheidbar, ob Patch wichtig oder
nicht.
- Die Expertise für inhaltliche Prüfungen haben Sie auch nicht.
- Patches werden unter der Annahme getestet, dass alle vorherigen
Patches installiert wurden.
- Alle Patches einspielen. Immer. Innerhalb von 24h.
Erklärung 2: Management
Management
- Techniker möchten Probleme lösen
- Manager möchten Probleme managen
- In IT-Abteilungen haben Manager das Sagen
- Also kriegen wir lauter Kram, der gemanaged werden muss
Management klingt gut für Manager!
- Identitäts-Management
- Schwachstellen-Management
- Software Lifecycle Management
- Rollout Management
- Change Management
- Patch Management
Management klingt gut für Manager!
- Customer Relationship Management
- Document Management
- Database Management
- Backup Management
- Information Leakage Management
- Security Management
Management klingt gut für Manager!
- Threat Management
- Quality Management
- Standards Management
- Sales Management
- Account Management
- Compliance Management
Management klingt gut für Manager!
- Power Management
- Storage Management
- Network Management
- Attack Surface Management (früher: Vulnerability Management)
(Die Liste ließe sich bestimmt fortsetzen)
Alle investieren in Management
Niemand investiert in Lösungen.
Alle investieren in Prozesse, niemand verbessert irgendwas.
ISO 27001 verlangt nur Prozesse, nicht dass sie funktionieren!
Erklärung 3: Lohnt sich einfach mehr
Lohnt sich einfach mehr
- Früher lohnten sich Cyberangriffe nicht so, weil alles Fax +
Drucker war
- Softwarequalität war auch früher mies
- Aber jetzt digitalisieren wir!
Heute kann man mit der Schrotflinte irgendwo hin schießen und trifft was Lohnendes.
Stützargument
- Bei Kryptowährungen kann man direkt Millionen raustragen
- Die haben mehr Sicherheitsvorfälle als der Rest zusammen!
Gesprochenes Wort
Ich halte das als Argument für nicht satisfaktionsfähig.
Selbst wenn es stimmt, eröffnet es uns keine neuen
Handlungsoptionen.
Ich habe es hier der Vollständigkeit halber erwähnt.
Wo geht es jetzt hin?
- Kommt auf das Weltbild an
- Gibt mehrere Ansätze
Zurück zum Threat Model
- Der Angreifer kann Ihren Account übernehmen
- Von Ihrem Account aus kann er Admin werden
- Als Admin kann er alle Daten sehen und verschlüsseln
- Als Admin kann er Netzwerk-Admin werden
Angreifer kann Account übernehmen
- Ab jetzt verwenden wir nur noch sichere Software!!
- Von Anfang an der Hauptansatz
- Bessere Tools, bessere Warnungen
- Statische Codeanalyse, Fuzzing, Code Audits
- „Sichere Programmiersprachen“
Ab jetzt sichere Software!
- Das machen wir jetzt seit 50 Jahren
- Hilft, aber reicht nicht!
Wir haben immer weniger Schwachstellen pro kg Code
Die Codegröße wächst schneller als die Fehlerrate sinkt
Wir müssen mehr tun!
- Wir brauchen zusätzliche Schadensbegrenzung
- Annahme: Was, wenn diese Software gehackt wird?
- Was kann der Angreifer von da aus machen?
Da kann man doch was machen?
Es gibt bewährte Ansätze von anderswo:
- Schiffe haben Schotten gegen Wassereinbruch
- Gebäude haben Brandschutztüren gegen Feuer
- Elektrische Schaltungen haben Dioden und Sicherungen
- Krankenhäuser haben niedrigeren Luftdruck in Seuchenabteilungen
- Autos haben Knautschzonen und Airbags
Luftdruck
Wenn Sie das noch nicht kennen:
In den Seuchenbereichen hat man geringeren Luftdruck.
Wenn irgendwo ein Leck ist, dann strömt die Luft rein, nicht raus.
Die Erreger bleiben drinnen.
Da kann man doch was machen?
Code kann man auch isolieren!
- Virtuelle Maschine
- Container
- Emulator / Instrumentierung
- Microservices
Container
- Im Moment packen wir die Anwendung in den Container
- Das schützt den Hypervisor / Host vor der Anwendung
- Die Daten, die wir retten wollten, sind in der Anwendung
- Völlig sinnloses, absurdes Theater
- Plus: Aus dem Container kann man häufig AD und SSO sehen / angreifen
Container
- Stattdessen sollten wir Anwender 1 von Anwender 2 isolieren
- Wenn der eine die App hackt, sieht er nicht das Passwort des anderen
- Sieht nur seine eigenen Daten und Credentials
- Kann nicht jemand anderes offene Datenbankverbindung mitnutzen
Ein Container pro Anfrage!
Kann man das nicht besser machen?
- Klar kann man!
- Aber ordentlich isolieren kostet Performance und RAM
- Man braucht mehr / teurere Hardware
- Mehr CAPEX, mehr OPEX
- Praxis: Microservices, aber nicht isoliert
- Praxis: Container, aber alle Anfragen im selben Container
Begriffserklärung
CAPEX ist Capital Expenditure. Fixkosten für Hardwarekauf o.ä.
OPEX ist Operational Expenditure. Laufende Kosten. Betrieb, Support, Wartung.
Fazit
- Abwehr des initialen Angriffs scheitert an uns selbst.
- Wir wissen, was man tun müsste, aber tun es nicht.
Zurück zum Threat Model
- Der Angreifer kann Ihren Account übernehmen
- Von Ihrem Account aus kann er Admin werden
- Als Admin kann er alle Daten sehen und verschlüsseln
- Als Admin kann er Netzwerk-Admin werden
„Der kann Admin werden“
- Man könnte eine Smartphone-App bauen
- Die wird in den meisten Fällen sogar deutlich sicherer sein
Warum wäre eine App sicherer?
- Ausbrechen ist schwerer (aber nicht unmöglich!)
- Dem Smartphone traut erstmal niemand im Netz
- Vielleicht kommt es gar nicht erst ins Netz sondern ins Gäste-WLAN
- Das Smartphone ist nicht domain joined (AD-Angriff schwieriger)
- App kann nicht einfach Daten anderer Apps sehen
- Auf dem Phone liegen nicht so viele Geschäftsdokumente
Das war jetzt ein bisschen geschummelt
Auf dem Phone liegen E-Mails. Wenn der Angreifer über die Mail-App reinkam, hat er alle E-Mails.
Die, die nicht da liegen, darf er abrufen, kopieren und löschen.
In den E-Mails sind vielleicht wichtige Anhänge.
Das wäre immer noch ein ziemlich großer Schaden.
Können wir uns bei Apps was abgucken? [1/2]
- Windows 10 hat den Store und UWP und AppContainer
- AppContainer isoliert ähnlich gut wie Smartphones
- Der PC ist immer noch domain joined
- Das Netzwerk ist nur „alles oder nichts“-einschränkbar
- Aber ansonsten ein riesiger Schritt vorwärts!
Können wir uns bei Apps was abgucken? [2/2]
- Microsoft hat das (mit Gewalt) in den Markt zu drücken versucht
- Der Markt wollte es nicht
- Ist jetzt vergiftet, wird gemieden
Schade eigentlich!
Fazit
- Abwehr der Privilegienausweitung scheitert an uns selbst.
- Wir wissen, was man tun müsste, aber tun es nicht.
Zurück zum Threat Model
- Der Angreifer kann Ihren Account übernehmen
- Von Ihrem Account aus kann er Admin werden
- Als Admin kann er alle Daten sehen und verschlüsseln
- Als Admin kann er Netzwerk-Admin werden
„Der kann alle Daten abgreifen!“
Die Daten liegen auf dem Rechner? Admin kann sie abgreifen.
Verschlüsseln hilft nicht. Admin kann Schlüssel sehen.
Passwort hilft nicht. Admin kann Tastatureingaben mitlesen.
Schutz vor dem lokalen Admin
Wenn die Daten „im SAP“ liegen, kann der lokale Admin „nur“ anstellen, was der angemeldete Nutzer darf.
Immer noch schlimm aber kein Totalschaden mehr.
Der SAP-Admin kann immer noch alles sehen und kaputtmachen.
Schutz vor dem lokalen Admin
Lösungsansatz:
- Datenhaltung remote
- Zugriff nur via API
- API kann nur lesen und macht append-only Datenhaltung
Auch der lokale Admin kann die Daten nicht verschlüsseln!
Traditionelle Datenablage
In der Datenbank steht: Name=Fred, Abteilung=Security
Fred wechselt die Abteilung: Name=Fred, Abteilung=Inkasso
Nachdem der Wert gewechselt ist, ist der vorige Wert
futsch.
Man müsste ein Backup einspielen.
Append-only Datenablage
Nach Freds Abteilungswechsel:
Name=Fred, Abteilung=Security
Änderung 2022-06-15 UID 123: Name=Fred,
Abteilung=Inkasso
Änderungen werden hinten
angehängt.
Jemand hackt uns? Dann rollen wir das manuell zurück.
Fazit
- Abwehr des lokalen Admins scheitert an uns selbst.
- Wir wissen, was man tun müsste, aber tun es nicht.
Zurück zum Threat Model
- Der Angreifer kann Ihren Account übernehmen
- Von Ihrem Account aus kann er Admin werden
- Als Admin kann er alle Daten sehen und verschlüsseln
- Als Admin kann er Netzwerk-Admin werden
„Er kann Netzwerk-Admin werden“
- Das liegt vor allem an NTLM und Kerberos
- Google-Stichworte: mimikatz, golden ticket, rainbow tables
- Kerberos kommt aus einer anderen Zeit
- Gedacht gegen unprivilegierte User, nicht gegen lokale Admins
Kann man da nichts machen?
- Man kann ordentliche public-key Krypto machen
- Vielleicht mit MFA oben drüber
- Admin-Rolle aufteilen, jeweils Least Privilege
- Ganz wichtig: Netz-Admin hat keinen Zugriff auf Datenbanken!
Kann man da nichts machen?
- Kerberos/AD kann sogar seit Windows 2016 public key
- Aber nur für Rechner-Authentisierung, nicht Benutzer (AFAIK)
- Habe ich noch nie angeschaltet gesehen
https://docs.microsoft.com/en-us/windows-server/security/kerberos/domain-joined-device-public-key-authentication
Fazit
- Abwehr des Netz-Admins scheitert an uns selbst.
- Wir wissen, was man tun müsste, aber tun es nicht.
Was ist denn jetzt Zero Trust?
Warum wäre eine App sicherer?
- Ausbrechen ist schwerer (aber nicht unmöglich!)
- Dem Smartphone traut erstmal niemand im Netz
- Vielleicht kommt es gar nicht erst ins Netz sondern ins Gäste-WLAN
- Das Smartphone ist nicht domain joined (AD-Angriff schwieriger)
- App kann nicht einfach Daten anderer Apps sehen
- Auf dem Phone liegen nicht so viele Geschäftsdokumente
Das ist Zero Trust [1/4]
- Niemandem trauen, bloß weil er aus dem Intranet kommt
- Auch im Intranet ordentlich verschlüsseln
- Dienste und Nutzer ordentlich authentisieren (nicht Rechner!)
Das ist alles.
Behandelt alle Zugriffe, als kämen Sie aus
dem Internet.
Das ist Zero Trust [2/4]
- Ursprünglich popularisiert 2009/2010 von Google
- Die nannten es „BeyondCorp“
Das ist Zero Trust [3/4]
- Heißt das, wir brauchen keine Firewalls mehr? Kein Intranet?
- Wir können alles in die Cloud schieben?
- NEIN!! Google hat noch ein Intranet!
- Google schiebt Daten nur in die Cloud, weil sie die Cloudbetreiber sind!
Das ist Zero Trust [4/4]
- Amazon schiebt Dinge in die Cloud.
- In ihre eigene Cloud!
- Microsoft schiebt Dinge in die Cloud.
- In ihre eigene Cloud!
Was ist mit Apple?
- Apple hat iCloud, aber schiebt da nur Daten ihrer Kunden hin!
- Weil iCloud bloß eine Marke ist.
- Die Server stehen bei Azure und AWS.
- Denen traut Apple nicht.
Sollten Sie auch nicht!
Apple
Das war jetzt ein bisschen ungerecht.
Apple hat in Dänemark ein Rechenzentrum gebaut.
Die Daten ihrer europäischen Kunden liegen dort, nicht bei Azure/AWS.
Das liegt aber eher an der DSGVO als an Apple.
Aber aber aber …
„Aber die Hersteller wollen uns als Zero Trust alle Managed
Cloud Services und Identity Management verkaufen!“
Das ist nicht Zero Trust.
Das ist das Gegenteil von Zero Trust.
Dann muss man dem Cloud-Dienst 100% vertrauen!
Wieso verkaufen die uns das dann?!
Management
- Techniker möchten Probleme lösen
- Manager möchten Probleme managen
- In IT-Abteilungen haben Manager das Sagen
- Also kriegen wir lauter Kram, der gemanaged werden muss
Ich gebe zu: Das war ein billiger Scherz, und die Sektion über
Management habe ich im Wesentlichen eingebaut, um hier diese Pointe
bringen zu können.
Der Hintergrund ist aber glaube ich durchaus ernst.
Eine Sache, die ich gar nicht ansprach, aber über die Sie auch
mal nachdenken könnten: Wie viele Management-Lösungen wurden bei Ihnen
gekauft, aber dann war kein Geld für jemanden da, der
das bedient / auswertet?
Jede Firma hat ein SIEM, aber kaum eine wertet das aus.
Alle haben ein CERT. Die meisten verteilen bloß externe
Meldungen intern weiter.
Jetzt haben wir das Rüstzeug, …
… mal ein paar Verkaufsangebote zu evaluieren!
1. Mikrosegmentierung [1/3]
- Minimiert das die TCB? Nein! Es vergrößert sie!
- Vorher dumme Switches, jetzt programmierbare Router.
- Denen müssen wir trauen, dass sie nicht umprogrammiert wurden.
Die sind in der TCB.
Wie ist es mit dem Threat Model?
Was ist denn Mikrosegmentierung?
Eigentlich: Netzwerk möglichst feingranular segmentieren.
Clients sehen sich gegenseitig nicht.
Server sehen sich nur, wenn sie miteinander reden müssen.
Heute leider Marketing-Buzzword von SDN- und Kubernetes-Verkäufern.
Stoppt „lateral movement“, aber das spielt in unserem Threat
Model keine Rolle.
1. Mikrosegmentierung [2/3]
- Hilft es gegen die Infektion des Arbeitsplatzes durch E-Mail?
- Nein.
- Hilft es gegen Admin-Beschaffung auf dem Arbeitsplatz-PC?
- Nein.
- Hilft es gegen Angriffe auf den Domain Controller?
- Nein.
1. Mikrosegmentierung [3/3]
- Hat es Nachteile? Klar!
- Kostet CAPEX und OPEX und hat Opportunitätskosten!
Begriffserklärung
Opportunitätskosten sind „Kosten“ für entgangene andere Dinge, die
man hätte tun können.
Wenn ich eine Cola trinke, habe ich Opportunitätskosten in Höhe des
Wertes, den ich bei einem Verkauf erzielen könnte.
Wenn ich ein Jahr lang Mikrosegmentierung einführe, habe ich
Opportunitätskosten in Höhe dessen, was man in dem Jahr sonst hätte
tun können.
2. Cloud-Passwortmanager [1/3]
- Minimiert das die TCB? Nein! Es vergrößert sie!
- Jetzt müssen wir auch noch der Cloud vertrauen.
Wie ist es mit dem Threat Model?
2. Cloud-Passwortmanager [2/3]
- Hilft es gegen die Infektion des Arbeitsplatzes durch E-Mail?
- Nein.
- Hilft es gegen Admin-Beschaffung auf dem Arbeitsplatz-PC?
- Nein.
- Hilft es gegen Angriffe auf den Domain Controller?
- Nein.
2. Cloud-Passwortmanager [3/3]
- Hat es Nachteile? Klar!
- Kostet CAPEX und OPEX und hat Opportunitätskosten!
(Das gilt natürlich auch für „Cloud Identity Provider“
u.ä.)
(Und für MFA in der Cloud)
Der Hersteller sagt, die Daten liegen lokal!
Erstens können Sie das kaum prüfen.
Zweitens ändert das nichts an der Bewertung. Das ist zusätzliche
Software, der müssen Sie trauen.
Das vergrößert die TCB und hilft gegen nichts im Threat Model.
3. Netzwerküberwachung [1/3]
- Minimiert das die TCB? Nein! Es vergrößert sie!
- Jetzt müssen wir auch noch den Agenten, Sensoren und der
Auswertungssoftware vertrauen.
Wie ist es mit dem Threat Model?
3. Netzwerküberwachung [2/3]
- Hilft es gegen die Infektion des Arbeitsplatzes durch E-Mail?
- Nein.
- Hilft es gegen Admin-Beschaffung auf dem Arbeitsplatz-PC?
- Nein.
- Hilft es gegen Angriffe auf den Domain Controller?
- Nein.
3. Netzwerküberwachung [3/3]
- Hat es Nachteile? Klar!
- Kostet CAPEX und OPEX und hat Opportunitätskosten!
Die Netzwerküberwachung kommt überall hin.
Der Angreifer auch, wenn er sie hackt.
Das hilft doch aber, Angriffe zu erkennen!
Ich frage nach Pentests immer, was der Kunde davon gemerkt hat.
Ich verhalte mich bei Pentests überhaupt nicht leise oder
zurückhaltend.
Einmal hat jemand was gemerkt. Das ist jetzt 20 Jahre her.
Alle anderen haben tolle Überwachungsgeräte, aber keiner wertet das
aus.
Kompromissvorschlag: Erst Angriffe unmöglich machen, dann
Monitoring.
4. Software Defined Perimeter [1/3]
- Minimiert das die TCB? Nein! Es vergrößert sie!
- Wo man früher für einen Angriff physisch Kabel stecken musste, ist
jetzt ein Software-Angriff denkbar.
Wie ist es mit dem Threat Model?
Was ist SDP?
Verwandt: SDN, Black Cloud / Dark Cloud, Mikrosegmentierung.
Idee: Man schaltet nur die Netzwerkverbindungen frei, die benötigt
werden.
Am besten dynamisch und nur dann, wenn sie gerade akut benötigt werden.
Keine grundsätzlich dumme Idee, aber bringt halt erstmal
nichts. Würde ich erst erwägen, wenn alle Angriffe abgewehrt sind.
4. Software Defined Perimeter [2/3]
- Hilft es gegen die Infektion des Arbeitsplatzes durch E-Mail?
- Nein.
- Hilft es gegen Admin-Beschaffung auf dem Arbeitsplatz-PC?
- Nein.
- Hilft es gegen Angriffe auf den Domain Controller?
- Nein.
4. Software Defined Perimeter [3/3]
- Hat es Nachteile? Klar!
- Kostet CAPEX und OPEX und hat Opportunitätskosten!
Außer es hat kein Risiko, weil wir eh Zero Trust machen.
Dann hat es aber auch keinen Nutzen.
Fertig! Jetzt kommt die Kür!
Wie kommt die Ransomware rein? [1/2]
- Problem 1: Outlook hat „aktive Inhalte“.
- Problem 2: Outlook erlaubt Öffnen von Attachments.
- Problem 3: Office-Attachments haben „aktive Inhalte“.
- Problem 4: Mit gelbem Balken schaltet man Makros ein
Mit gelbem Balken schaltet man auch Ändern ein, das haben wir
den Leuten jetzt antrainiert.
Wie kommt die Ransomware rein? [2/2]
Achten Sie mal darauf:
- Microsoft hat das Problem nicht gelöst
- Sie haben es so umformuliert, dass sie nicht schuld sind
- Stattdessen ist der Nutzer schuld
Narrativ jetzt: „Nutzer ist das schwächste Glied“
Nutzer ist das schwächste Glied
Das ärgert mich gewaltig.
Wir geben dem Nutzer eine Maus (zum Klicken), ein Outlook, das
Links in Mails klickbar macht, und einen Browser, der zum Link-Klicken
gedacht ist.
Und dann beschimpfen wir den Nutzer, wenn er diese Dinge dafür
benutzt, wofür sie gebaut wurden.
Nicht der Nutzer ist hier das schwache Glied, sondern dass man in
Microsoftumgebungen nicht gefahrlos auf Dinge klicken kann!
Denken Sie sich hier ein Foto eines Verkehrsschildes hin.
Oben das Warndreieck mit Ausrufezeichen.
Darunter „Straßenschäden“
Darunter Geschwindigkeitsbegrenzung: 30
[Mögliches Motiv] [Alternative] [Alternative 2]
Wie wird die Ransomware Admin? [1/2]
- Entweder über eine bekannte Lücke, die Sie nicht gepatcht haben
- Oder über gammelige Software, die Sie installiert haben
- Häufig triviale Angriffsvektoren wie „DLL Hijacking“
- Je mehr Angriffsoberfläche, desto einfacher!
Wissen Sie, wer jahrelang 80% der Blue Screens erzeugt hat?
Ranzige Grafiktreiber.
Gammelsoftware
Das ist der einzige Hebel, den sie effektiv haben.
Patchen sie zeitnah. Alle Patches. Immer. In unter 24h!
Haben Sie so wenig Kram wie möglich installiert.
Schmeißen Sie Programme ohne Updates raus!
Blue Screens sind inkompetent ausgenutzte Kernel-Sicherheitslücken.
Wie wird die Ransomware Admin? [2/2]
Können bei Ihnen die Mitarbeiter per UAC Admin werden?
(Lachen Sie nicht! Ist bei praktisch allen Entwicklungsabteilungen so!)
(Inklusive bei Microsoft!)
Verhindert das nicht der Antivirus?
Nein, in der Praxis nicht.
Der meldet ihnen 10000 gefährliche Cookies im Browser.
Und ein unsigniertes Programm, das Sie gerade kompiliert haben.
Hauptfunktion eines Antivirus: Sie zum Verlängern des Abos bringen.
Wie holen die sich Domain Admin?
- Windows hält Credentials im RAM
- Username, Passwörter, Kerberos-Tokens
- Local Admin darf die auslesen
- Entweder ein Admin-Account hat schon Credentials auf der Kiste
- Oder ich trete gegen eine Vase, dann kommt der Admin gucken
(Bei Pentests ruft man gerne den Helpdesk an)
Helpdesk
Der Helpdesk hat vielleicht nicht Domain Admin.
Aber der kann sich auf dem Rechner des Domain Admin einloggen.
Dann greif ich dessen Credentials halt da ab.
(In diesem Fall könnte Mikrosegmentierung tatsächlich helfen)
Das ist ja furchtbar!
- Unter Unix macht man public key Auth mit openssh
- Da sind Host- und User-Key involviert
- Man-in-the-middle geht nicht (dann falscher Host-Key)
Microsoft hat hier seit Jahrzehnten den Schuss nicht gehört.
Public Key Auth
AD kann Zertifikate und Smart Cards, aber dann ist im Hintergrund
immer noch Kerberos, und das kann man abgreifen.
Azure-AD kann angeblich echtes public key Auth.
Aber das hilft Ihnen ja nichts, denn dann müssen Sie Azure vertrauen.
Und jetzt?
- Wir brauchen nicht inkrementelle Verbesserungen
- Wir brauchen fundamentale Verbesserungen
- Fundamentale Verbesserungen brauchen fundamentale Änderungen
- Das Investment will niemand machen
OK, so kann ich Sie nicht gehen lassen
Ein paar konkrete Visionen
Ein paar konkrete Visionen
Chromebooks gehen in die richtige Richtung.
- Read-Only-Image für Betriebssystem
- Daten liegen hinter APIs im Netz
- Für Updates bootet man in das neue Image
- Lokale Schreibzugriffe bietet man gar nicht erst an
Kleine Ungenauigkeit meinerseits
Chromebooks haben noch lokale Schreibzugriffe.
Ist für ein privates Reisegerät auch OK.
Aber im Arbeitsumfeld vielleicht verzichtbar?
Was bringt uns das?
Selbst nach erfolgreichem Hack geht Einnisten nicht!
Problem? Rechner booten! Alles wieder sauber.
Bootet nicht? Das alte Image liegt noch da!
(So machen das Chromebooks, Android und Apple-Geräte)
Ein paar konkrete Visionen
- Geschäftsanwendungen als Webseite im Intranet machen
- Mit https-Krypto und Logins
- (In die Richtung geht es eh schon flächendeckend)
- Browser auf Read-only-Image ist ein bisschen doof
- Muss man immer das ganze Image updaten
- Macht man dann halt!
Was bringt uns das?
Selbst nach erfolgreichem Hack helfen Admin-Privilegien nichts.
Kann nur Daten abgreifen, die der User im Zugriff hatte!
Alles schön Least Privilege machen!
Was bringt uns das?
- Account auf dem Client egal
- Alle Zugriffe gehen über Webserver+Login im Intranet
- Single-Sign-On geht über Browser-merkt-sich-Logins
- Achtung: Keine Cloud-Anbindung oder -Backups!
- Achtung: Ausschalten, nicht Schlafmodus!
- Laptop-Sharing ist risikolos. Einfach einmal durchbooten!
Updates
- Einfach jeden Morgen ein frisches Image booten!
- Nie wieder Ärger mit Patch-Management!
- Der Browser übergibt bei Zugriffen seine Version
- Da kann man auch die Image-Version reintun
- Dann können Webdienste zu alte Clients abweisen
Ist das realistisch?
Das muss jede Organisation für sich selbst entscheiden.
Meine Botschaft: Wir wissen, dass es geht, und wie es geht.
Es gibt eigentlich schon länger keine Ausreden mehr.
Was ist auf Serverseite?
Da gibt es auch einen Haufen Dinge zu beachten.
Ist ein eigener Vortrag. Der sieht aber ähnlich aus.
Wir wissen, dass es geht, und wie es geht. Aber keiner tut es.
Google-Stichwörter:
Least Privilege, TCB-Minimierung, Self
Sandboxing, Privilege Separation.
Vielen Dank für die Aufmerksamkeit!
Fragen?
Wenn Sie mal IT-Security-Hilfe brauchen:
https://www.codeblau.de/